1.逻辑架构

逻辑架构由三层模型(表示层、业务层、持久化层)构成

1.1.表示层

客户端使用 Web 作为表示层,提供 问卷系统, 小任务系统, 登陆注册系统

1.2.业务层

服务器充当业务层的角色,为表示层的各个子系统提供相应的服务模块

1.3.持久化层

MySQL 提供了数据的持久化服务

2.框架目录设计

2.1 前端目录


├─babel.config.js
├─package-lock.json
├─package.json
├─README.md
├─vue.config.js // vue配置文件
├─src
|  ├─App.vue // 主组件
|  ├─main.js // 项目入口
|  ├─store
|  |   └index.js // vuex文件
|  ├─router
|  |   └index.js // vue-router配置文件
|  ├─components // 所有子组件
|  |     ├─Guide.vue // 主导航界面
|  |     ├─Home.vue // 根界面
|  |     ├─task // 小任务系统组件
|  |     |  ├─NewTask.vue
|  |     |  ├─TaskDetail.vue
|  |     |  ├─TaskHome.vue
|  |     |  └TaskList.vue
|  |     ├─questionnaire 问卷调查组件
|  |     |       ├─AllQnList.vue // 全部问卷列表页面
|  |     |       ├─EditQn.vue // 编辑问卷页面
|  |     |       ├─FillQn.vue // 填写问卷页面
|  |     |       ├─MyQnList.vue
|  |     |       ├─NewQn.vue // 新建问卷页面
|  |     |       └QnHome.vue // 问卷根页面
|  |     ├─account
|  |     |    ├─Signin.vue // 登陆页面
|  |     |    └Signup.vue // 注册页面
|  ├─assets
|  |   ├─avatar.jpg
|  |   ├─favicon.ico
|  |   ├─home-carousel-1.jpg
|  |   ├─home-carousel-1.png
|  |   ├─home-carousel-2.jpg
|  |   ├─home-carousel-3.jpg
|  |   ├─home-carousel-4.jpg
|  |   ├─home-detail-1.jpg
|  |   ├─home-detail-2.jpg
|  |   └qncover.jpg
├─public
|   ├─index.html // html文件
|   ├─static
|   |   └favicon.ico
├─dist // 打包目录
|  ├─index.html
|  ├─static
|  |   ├─favicon.ico
|  |   ├─js
|  |   | ├─app.c7868cb2.js
|  |   | ├─app.c7868cb2.js.map
|  |   | ├─chunk-vendors.552d5829.js
|  |   | └chunk-vendors.552d5829.js.map
|  |   ├─img
|  |   |  ├─avatar.f5009b8c.jpg
|  |   |  ├─home-carousel-1.70735838.png
|  |   |  ├─home-carousel-2.8b347fd3.jpg
|  |   |  ├─home-carousel-3.d201e704.jpg
|  |   |  ├─home-carousel-4.4d24e122.jpg
|  |   |  ├─home-detail-1.bbc5b2ce.jpg
|  |   |  └home-detail-2.541c6dfc.jpg
|  |   ├─css
|  |   |  ├─app.1408651e.css
|  |   |  └chunk-vendors.53600669.css


2.2 后端目录

├── api.md  # api文档
├── db.sqlite3
├── dist  # 静态文件夹
│   ├── index.html   
│   └── static
│       ├── css
│       │   ├── app.88022460.css
│       │   └── chunk-vendors.3b2d6e5b.css
│       ├── favicon.ico
│       ├── img
│       │   ├── avatar.f5009b8c.jpg
│       │   ├── home-carousel-1.70735838.png
│       │   ├── home-carousel-2.8b347fd3.jpg
│       │   ├── home-carousel-3.d201e704.jpg
│       │   ├── home-carousel-4.4d24e122.jpg
│       │   ├── home-detail-1.bbc5b2ce.jpg
│       │   └── home-detail-2.541c6dfc.jpg
│       └── js
│           ├── app.135b342f.js
│           ├── app.135b342f.js.map
│           ├── chunk-vendors.55b965b0.js
│           └── chunk-vendors.55b965b0.js.map
├── makefile
├── manage.py  # 管理Django 程序
├── mission   # 任务模块
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-37.pyc
│   │   ├── admin.cpython-37.pyc
│   │   ├── models.cpython-37.pyc
│   │   ├── urls.cpython-37.pyc
│   │   └── views.cpython-37.pyc
│   ├── admin.py
│   ├── apps.py  # 模块主入口
│   ├── migrations # 数据库操作记录->相应表结构发生变化
│   │   ├── __init__.py
│   │   └── __pycache__
│   │       └── __init__.cpython-37.pyc
│   ├── models.py   #任务模块的小模块
│   ├── tests.py #任务模块的测试模块
│   ├── urls.py#任务模块的路由定义
│   └── views.py #任务模块的视图函数
├── mypro
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-37.pyc
│   │   ├── settings.cpython-37.pyc
│   │   ├── urls.cpython-37.pyc
│   │   └── wsgi.cpython-37.pyc
│   ├── settings.py  #  配置文件
│   ├── urls.py
│   └── wsgi.py
├── paper  
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-37.pyc
│   │   ├── admin.cpython-37.pyc
│   │   ├── models.cpython-37.pyc
│   │   ├── tests.cpython-37.pyc
│   │   ├── urls.cpython-37.pyc
│   │   └── views.cpython-37.pyc
│   ├── admin.py   # 用于注册数据库中数据表
│   ├── apps.py # 配置当前APP
│   ├── migrations #数据库操作记录->相应表结构发生变化
│   │   ├── 0001_initial.py
│   │   ├── __init__.py
│   │   └── __pycache__
│   │       └── __init__.cpython-37.pyc
│   ├── models.py   # 文件系统的小模块
│   ├── tests.py  # 测试模块
│   ├── urls.py # 路由定义
│   └── views.py # 视图定义
└── users
    ├── __init__.py
    ├── __pycache__
    │   ├── __init__.cpython-37.pyc
    │   ├── admin.cpython-37.pyc
    │   ├── models.cpython-37.pyc
    │   ├── test.cpython-37.pyc
    │   ├── tests.cpython-37.pyc
    │   ├── urls.cpython-37.pyc
    │   └── views.cpython-37.pyc
    ├── admin.py  # 用于注册数据库中数据表
    ├── apps.py  # 子程序入口
    ├── migrations # 数据库操作记录->相应表结构发生变化
    │   ├── 0001_initial.py
    │   ├── 0002_auto_20190623_0502.py
    │   ├── 0003_auto_20190625_0448.py
    │   ├── 0004_auto_20190625_1359.py
    │   ├── __init__.py
    │   └── __pycache__
    │       ├── 0001_initial.cpython-37.pyc
    │       ├── 0002_auto_20190623_0502.cpython-37.pyc
    │       ├── 0003_auto_20190625_0448.cpython-37.pyc
    │       ├── 0004_auto_20190625_1359.cpython-37.pyc
    │       └── __init__.cpython-37.pyc
    ├── models.py # 用户模块
    ├── templates # 模版
    │   └── users
    │       └── index.html
    ├── tests.py  # 测试模块 
    ├── urls.py # 路由模块
    └── views.py # 视图模块

3.与 ECB 关系

ECB中:

在本系统中,Boundary有两个部分:

Controller 包含:

Entity 包含:

具体映射查看 7.5 Usecase design(用例设计)